package com.lagou.task03;

/**
 *
 *
 * 手机通话/上网套餐测试
 *
 * */
public class PhoneMealTest {

    public static void main(String[] args) {

        //创建手机卡
        SIMCard simCard1 = new SIMCard();
        simCard1.setCardUserName("张三的手机卡");
        simCard1.setCardNo("77777777");
        simCard1.setCardType(SIMCardTypeEnum.BIG);

        //创建用户
        Person p1 = new Person("张三",simCard1);
        //初始化用户消费行为
        p1.cInfo = new ConsumptionInfo();

        //显示当前卡明细
        p1.phoneCard.show();

        System.out.println("----------------------------");

        //用户想打10分钟电话
        p1.call(10,p1.phoneCard); //时间不够

        System.out.println("----------------------------");

        //用户给sim卡充值
        p1.recharge(100.0);

        System.out.println("----------------------------");

        //用户订购通话套餐
        //要先创建一个通话套餐
        CallMeal cMeal = new CallMeal();
        cMeal.setCallMinute(200);
        cMeal.setMessagesNum(100);
        cMeal.setMealPrice(79.0);

        //购买套餐并打印明细
        p1.buyMeal(cMeal);  //购买成功

        System.out.println("----------------------------");

        //用户打电话
        p1.call(20,p1.phoneCard);   //成功打了电话

        System.out.println("----------------------------");

        //用户想上网
        p1.surfTheInternet(1.0,p1.phoneCard);   //没有流量

        //创建上网套餐
        InternetMeal iMeal = new InternetMeal();
        iMeal.setFlowG(10.0);
        iMeal.setMealPrice(20.0);

        //购买套餐
        p1.buyMeal(iMeal);

        System.out.println("----------------------------");

        //用户上网
        p1.surfTheInternet(1.5,p1.phoneCard);   //上网


        System.out.println("----------------------------");
        //显示用户的消费情况
        p1.cInfo.show();    // 79  20  1.5G   20min


    }

}
